---
title: KeyboardOnlyEngine 纯键盘控制引擎
icon: Keyboard
relatedFile: app/src/core/service/controlService/keyboardOnlyEngine/keyboardOnlyEngine.tsx
---

键盘控制引擎

该服务专注于处理纯键盘操作，为用户提供通过键盘与项目中的元素进行交互的能力。它监听全局键盘事件，并根据预设的快捷键执行相应的操作，例如编辑文本节点、选择或取消选择对象。

## 状态管理

该引擎具有一个开关状态，用于控制其是否启用。当某些面板打开时，引擎会自动禁用，以防止键盘事件的误触。

## 键盘事件绑定

服务在初始化时会绑定全局的 `keydown` 事件监听器。它会根据用户在设置中配置的快捷键（如 `Enter` 或 `Space`）来判断是否进入文本节点的编辑模式。同时，它也支持 `Escape` 键用于取消所有选中状态，以及 `F2` 键用于编辑当前选中的文本节点。

## 效果反馈

为了提供更好的用户体验，该服务在操作成功或失败时会触发视觉反馈效果：

*   **成功效果**：当用户通过快捷键成功进入文本节点编辑状态时，会在选中的文本节点上添加一个短促的虚线提示效果。
*   **失败效果**：如果用户尝试使用错误的快捷键进入编辑状态，选中的文本节点会产生抖动效果，并弹出提示信息告知用户可能记错了快捷键设置。
